﻿<?xml version="1.0" encoding="utf-8"?>
<xs:schema targetNamespace="http://www.5vsoft.com/schemas/routebuilder" elementFormDefault="qualified" xmlns="http://www.5vsoft.com/schemas/routebuilder" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:vs="http://schemas.microsoft.com/Visual-Studio-Intellisense" attributeFormDefault="unqualified" vs:friendlyname="Application.Framework Workshop Controls Configuration - Eunge" vs:ishtmlschema="false" vs:iscasesensitive="true" vs:requireattributequotes="true" vs:defaultnamespacequalifier="" vs:defaultnsprefix="">
<xs:element name="RouteTable">
		<xs:complexType>
			<xs:sequence>
				<xs:element name="Route" type="RouteType" minOccurs="0" maxOccurs="unbounded" />
				<xs:element name="Ignores" minOccurs="0" maxOccurs="unbounded">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="Ignore" minOccurs="1" maxOccurs="unbounded">
								<xs:complexType>
									<xs:sequence>
										<xs:element name="Url" type="RequiredString">
											<xs:annotation>
												<xs:documentation>Configure ignored Url.</xs:documentation>
											</xs:annotation>
										</xs:element>
										<xs:element name="Constraints" type="RouteValueDictionary" minOccurs="0">
											<xs:annotation>
												<xs:documentation>Configure constraints to ignores.</xs:documentation>
											</xs:annotation>
										</xs:element>
									</xs:sequence>
								</xs:complexType>
							</xs:element>
						</xs:sequence>
					</xs:complexType>
				</xs:element>
			</xs:sequence>
		</xs:complexType>
	</xs:element>

	<xs:complexType name="RouteType">
		<xs:sequence>
			<xs:element name="Url" type="RequiredString">
				<xs:annotation>
					<xs:documentation>Routing Url</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="RouteHandler" type="RequiredString" default="System.Web.Mvc.MvcRouteHandler" minOccurs="0">
				<xs:annotation>
					<xs:documentation>Full type name of IRouteHandler implementation class. The default value is System.Web.Mvc.MvcRouteHandler.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="Defaults" type="RouteValueDictionary" minOccurs="0" maxOccurs="1">
				<xs:annotation>
					<xs:documentation>Configure default routing parameter values.</xs:documentation>
				</xs:annotation>
			</xs:element>
			<xs:element name="Constraints" type="RouteValueDictionary" minOccurs="0" maxOccurs="1">
				<xs:annotation>
					<xs:documentation>Configure constraints for routing parameter values.</xs:documentation>
				</xs:annotation>
			</xs:element>
		</xs:sequence>
		<xs:attribute name="Name" type="RequiredString" use="required" />
	</xs:complexType>

	<xs:complexType name="RouteValueDictionary">
		<xs:sequence>
			<xs:element name="Item" minOccurs="1" maxOccurs="unbounded">
				<xs:complexType>
					<xs:attribute name="Name" use="required" type="RequiredString">
						<xs:annotation>
							<xs:documentation>Route parameter name.</xs:documentation>
						</xs:annotation>
					</xs:attribute>
					<xs:attribute name="Value" use="required" type="xs:string">
						<xs:annotation>
							<xs:documentation>Default route parameter value.</xs:documentation>
						</xs:annotation>
					</xs:attribute>
					<xs:attribute name="Type" use="optional" type="RequiredString">
						<xs:annotation>
							<xs:documentation>The full type name of route value.</xs:documentation>
						</xs:annotation>
					</xs:attribute>
				</xs:complexType>
			</xs:element>
		</xs:sequence>
	</xs:complexType>

	<xs:simpleType name="RequiredString">
		<xs:restriction base="xs:string">
			<xs:minLength value="1" />
		</xs:restriction>
	</xs:simpleType>
</xs:schema>
